package com.h5ve.swagger.config;

import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.h5ve.base.config.GlobalConfig;

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;

/**
 * Swagger 文档配置
 *
 * @author h5ve
 */

@Configuration
public class SwaggerConfig {

	@Bean
	public GroupedOpenApi adminApi() {
		return GroupedOpenApi.builder()
				// 分组名称
				.group(GlobalConfig.getVersion())
				// 接口请求路径规则
				.pathsToMatch("/**").build();
	}

	/**
	 * 配置基本信息
	 */
	@Bean
	public OpenAPI openAPI() {
		return new OpenAPI().info(new Info()
				// 标题
				.title(GlobalConfig.getName())
				// 描述Api接口文档的基本信息
				.description(GlobalConfig.getName() + "接口文档")
				// 版本
				.version("版本号:" + GlobalConfig.getVersion())
				// 设置OpenAPI文档的联系信息，姓名，邮箱。
				.contact(new Contact().name("Hva").url("https://www.xxxxx.com").email("Hva@163.com")));
	}
}
